home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / src / ConfigFileSrc.lha / ConfigFileSrc12 / RexxLibrary / Funcs / Change.c < prev    next >
Encoding:
Text File  |  1997-10-02  |  3.1 KB  |  136 lines

  1. /*
  2. **        $PROJECT: RexxConfigFile.library
  3. **        $FILE: Change.c
  4. **        $DESCRIPTION: rxcf_Change#?() functions
  5. **
  6. **        (C) Copyright 1997 Marcel Karas
  7. **             All Rights Reserved.
  8. */
  9.  
  10. IMPORT struct Library *CFBase;
  11.  
  12. /****** rexxconfigfile.library/cf_ChangeArgument *****************************
  13. *
  14. *   NAME
  15. *        cf_ChangeArgument -- Changes the name of an argument node.
  16. *
  17. *   SYNOPSIS
  18. *        cf_ChangeArgument(ArgNode,Name)
  19. *
  20. *        cf_ChangeArgument(ARGNODE/N/A,NAME/A)
  21. *
  22. *   FUNCTION
  23. *        This function changes the name of an argument node.
  24. *
  25. *   INPUTS
  26. *        ArgNode - The argument node.
  27. *        Name - The new name for the argument node.
  28. *
  29. *   SEE ALSO
  30. *        cf_ChangeGroup(), cf_ChangeItem()
  31. *
  32. ******************************************************************************
  33. *
  34. */
  35.  
  36. UWORD rxcf_ChangeArgument ( RX_FUNC_ARGS, CFArgument * ArgNode )
  37. {
  38.     if ( IsValidArg (RxMsg, 2) )
  39.     {
  40.         cf_ChangeArgument (ArgNode, RXARG2);
  41.         return (RC_OK);
  42.     }
  43.  
  44.     return (RXERR_INVALID_ARG);
  45. }
  46.  
  47. /****** rexxconfigfile.library/cf_ChangeGroup ********************************
  48. *
  49. *   NAME
  50. *        cf_ChangeGroup -- Changes the name of a groupnode.
  51. *
  52. *   SYNOPSIS
  53. *        cf_ChangeGroup(GrpNode,Name)
  54. *
  55. *        cf_ChangeGroup(GRPNODE/N/A,NAME/A)
  56. *
  57. *   FUNCTION
  58. *        This function changes the name of a group node.
  59. *
  60. *   INPUTS
  61. *        GrpNode - The group node for add to.
  62. *        Name - The new name for the group node.
  63. *
  64. *   SEE ALSO
  65. *        cf_ChangeArgument(), cf_ChangeItem()
  66. *
  67. ******************************************************************************
  68. *
  69. */
  70.  
  71. UWORD rxcf_ChangeGroup ( RX_FUNC_ARGS, CFGroup * GrpNode )
  72. {
  73.     if ( IsValidArg (RxMsg, 2) )
  74.     {
  75.         cf_ChangeGroup (GrpNode, RXARG2);
  76.         return (RC_OK);
  77.     }
  78.  
  79.     return (RXERR_INVALID_ARG);
  80. }
  81.  
  82. /****** rexxconfigfile.library/cf_ChangeItem *********************************
  83. *
  84. *   NAME
  85. *        cf_ChangeItem -- Changes the contents of an item node.
  86. *
  87. *   SYNOPSIS
  88. *        cf_ChangeItem(ItemNode,Contents [,Type] [,SpecialType])
  89. *
  90. *        cf_ChangeItem(ITEMNODE/N/A,CONTENTS/A,TYPE,STYPE)
  91. *
  92. *   FUNCTION
  93. *        This function changes the contents of an item node.
  94. *
  95. *   INPUTS
  96. *        ItemNode - The item node for the changes.
  97. *        Contents - The new contents.
  98. *        Type - The new type (see cf_NewItem()).
  99. *        SpecialType - The new special type (see cf_NewItem()).
  100. *
  101. *   EXAMPLE
  102. *        ...
  103. *        myItemNode = cf_NewItem(myArgNode, 1234567, CF_ITYP_NUMBER)
  104. *        cf_ChangeItem(myItemNode, 1, CF_ITYP_BOOL, CF_STYP_BOOL_ON)
  105. *        ...
  106. *
  107. *        In the CF file:
  108. *
  109. *        [ExampleGroup]
  110. *        ...
  111. *        ExampleArg=ON
  112. *        ...
  113. *
  114. *   SEE ALSO
  115. *        cf_ChangeArgument(), cf_ChangeGroup(), cf_NewItem()
  116. *
  117. ******************************************************************************
  118. *
  119. */
  120.  
  121. UWORD rxcf_ChangeItem ( RX_FUNC_ARGS, CFItem * ItemNode )
  122. {
  123.     RXCFItemConv ItemConv;
  124.     
  125.     if ( ConvItemStrings (RxMsg, &ItemConv, 2, 3, 4) )
  126.     {
  127.         cf_ChangeItem (ItemNode, ItemConv.Contents, ItemConv.Type, ItemConv.SType);
  128.         return (RC_OK);
  129.     }
  130.  
  131.     return (RXERR_INVALID_ARG);
  132. }
  133. /*
  134.         Printf (" Contents 0x%lx %ld Type 0x%lx SType 0x%lx\n",
  135.         ItemConv.Contents, ItemConv.Contents, ItemConv.Type, ItemConv.SType);
  136. */